#include "widget.h"
#include "ui_widget.h"
#include <QPushButton>
#include <QGridLayout>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //建立一个网格布局管理器
    QGridLayout* layout = new QGridLayout();

    //创建四个按钮添加到网格布局管理器中
    QPushButton* button1 = new QPushButton("按钮1");
    QPushButton* button2 = new QPushButton("按钮2");
    QPushButton* button3 = new QPushButton("按钮3");
    QPushButton* button4 = new QPushButton("按钮4");
//    layout->addWidget(button1,0,0);
//    layout->addWidget(button2,0,1);
//    layout->addWidget(button3,1,0);
//    layout->addWidget(button4,1,1);

    //这个写法就相当于水平布局管理器了
//    layout->addWidget(button1,0,0);
//    layout->addWidget(button2,0,1);
//    layout->addWidget(button3,0,2);
//    layout->addWidget(button4,0,3);

    //这个写法就相当于垂直布局管理器了
//    layout->addWidget(button1,0,0);
//    layout->addWidget(button2,1,0);
//    layout->addWidget(button3,2,0);
//    layout->addWidget(button4,3,0);

    //这个写法就相当于每个按钮独占一行和一列
    //即使设置成100，100，也不会在中间搞出很大的空白空间
    //这里设置的行数，列数，只是用来确定控件之间的相对位置，并不会去添加一些额外的控件
      layout->addWidget(button1,0,0);
      layout->addWidget(button2,1,1);
      layout->addWidget(button3,2,2);
      layout->addWidget(button4,3,3);


    //把网格处理器添加到窗口中
    this->setLayout(layout);
}

Widget::~Widget()
{
    delete ui;
}

